<?php

 class Funcao_c {

     function listarFuncao( $app, $admin = null, $msg = "" ) {
         // carrega o model do painel
         if ( $admin == null )
          $admin = $app->loadModel( "Funcao" );

         $funcoes = $admin->getTodosFuncao( $app->conexao );
         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "listarfuncoes",
                 "dados"  => array(
                  "funcoes" => $funcoes,
                  "msg"      => $msg
                 )
         );
        

         $app->loadView( "Admin", $param );
     }

     function alterarFuncao( $app ) {
         $idfuncao = ( int ) $_GET[ "id" ];

         $admin = $app->loadModel( "Funcao" );

         $obj = $admin->getFuncaoId( $app->conexao, $idfuncao );
        
         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "formfuncao",
                 "dados"  => array(
                         "tituloform"     => "Alterar Função",
                         "action"         => "execAlterarFuncao",
                         "labelbtnsubmit" => "Alterar Registro",
                         "aux"     => "'",
                         "idfuncao" =>  $obj[ "idfuncao" ],
                         "nomefuncao"      => $obj[ "nomefuncao" ]
                         
                 )
         );

         $app->loadView( "Admin", $param );
     }

     function execAlterarFuncao( $app ) {
         $admin = $app->loadModel( "Funcao" );
         // alteração de usuário não é aceita
         // somente nome do usuário e a senha
         $nome  = tStr( $_POST[ 'nomefuncao' ] );
          $id = ( int ) $_POST[ "idfuncao" ];

         $obj = $admin->alteraDadosFuncao( $app->conexao,$id, $nome );
      
         if ( $obj ) {
             $mensagem = "Alteração efetuada com sucesso!";
         }
         else {
             
             $mensagem = "Alteração falhou!";
         }

         $this->listarFuncao( $app, $admin, $mensagem );
     }

     function excluirFuncao( $app ) {
         $admin = $app->loadModel( "Funcao" );

         $id = ( int ) $_GET[ "id" ];

         $obj = $admin->excluirFuncao( $app->conexao, $id );

         if ( $obj ) {
             $mensagem = "Exclusão efetuada com sucesso!";
         }
         else {
             $mensagem = "Exclusão falhou!";
         }

         $this->listarFuncao( $app, $admin, $mensagem );
     }

     function cadastrarFuncao( $app ) {
         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "formfuncao",
                 "dados"  => array(
                         "tituloform"     => "Cadastrar novo Funcao",
                         "action"         => "execCadastrarFuncao",
                         "labelbtnsubmit" => "Cadastrar Funcao",
                          "aux"     => "",
                         "idfuncao"      => "",
                        "nomefuncao"    => ""
                       
                 )
         );
         $app->loadView( "Admin", $param );
     }

     function execCadastrarFuncao( $app ) {
         $admin = $app->loadModel( "Funcao" );
         
         
         $nome    = tStr( $_POST[ "nomefuncao" ] );
          

         $obj = $admin->cadastrarFuncao( $app->conexao,  $nome );
         
         if ( $obj ) {
             $mensagem = "Cadastro efetuado com sucesso!";
         }
         else {
             $mensagem = "Cadastro falhou!".$obj;
         }

         $this->listarFuncao( $app, $admin, $mensagem );
     }

 }
 